home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1999 November / SOTMC_Nov1999-Ultimate.iso / mac / REALbasic ƒ / Examples / Applications / Nathan's Examples / PowerBot / Feature List next >
Encoding:
Text File  |  1999-03-01  |  17.8 KB  |  492 lines  |  [TEXT/ttxt]

  1.  
  2. PowerBot specs, updated 11/30/98
  3.  
  4.  
  5. Compiler bugs, I can do nothing but wait on
  6. --------------------------------------------------------
  7. (none for now, that I have not worked around...)
  8.  
  9.  
  10. BUGS to be fixed
  11. --------------------------------------------------------
  12. Ñ╩restrict nick only working when user logs in, not
  13.   when they change nick/icon
  14.  
  15. Ñ╩LOCATE is getting out of sync somehow... analyze and
  16.   find out why!
  17. Ñ╩Monitor the "gulp" debugger line and see if it matches
  18.   up at all with the number of servers the trackers fall
  19.   short on during tracking.
  20. Ñ╩link still not working correctly when bot has two-
  21.   byte characters in its own nick (Japanese LK)... seems
  22.   to be related to specific servers or clients?
  23. Ñ╩what happens if we run out of disk space?   :-o
  24. Ñ╩should old log files be getting placed into a folder?
  25. Ñ kb limit on log size should probably check filesize
  26.   at each flush, and create a new file on-the-fly if
  27.   needed
  28. Ñ╩aliases to offline or unshared volumes in search
  29.   directory or subfolders causes problems with pathing
  30.  
  31.  
  32. Highest demand
  33. --------------------------------------------------------
  34. Ñ╩when message expires and is not from guest, queue
  35.   message to originator to notify that it expired
  36. Ñ╩get bot memorizing window positions and default
  37.   directories
  38. Ñ╩finish new kit
  39. Ñ╩expansion of the UserBase into bot commands
  40. Ñ╩finish replacing all the imbedded applescripts with
  41.   AE calls
  42. Ñ add more of the suggested ¿ commands
  43. Ñ╩try to reload the server to reload the news (via AE)
  44.  
  45.  
  46. OPERATIONAL features
  47. --------------------------------------------------------
  48. Ñ╩bot does not have to run on the same computer as the
  49.   server application.
  50. Ñ selectable greeting
  51. Ñ selectable help message
  52. Ñ notify of waiting messages on login
  53. Ñ notify of new messages if logged in
  54. Ñ five levels of security for every command
  55. Ñ master password for bot
  56. Ñ selectable areas of protection using master password
  57. Ñ configurable nick, icon, and port (plus the usuals)
  58. Ñ internal userlist includes Login and Privledges
  59. Ñ message limits
  60.   - queued messages
  61.   - msgs to login
  62.   - msgs from login
  63.   - msgs from guest
  64.   - bot accepts messages y/n
  65. Ñ monitor, kill, and butt-in on all command windows
  66. Ñ statistics
  67.   - users online
  68.   - command windows open
  69.   - command windows opened since load
  70.   - messages queued
  71. Ñ admin-defined userlist, as an additional layer of
  72.   security / restrictions on commands
  73. Ñ control window times-out and closes automatically
  74.   after two minutes
  75. Ñ bot has a few defenses to prevent flooding
  76.   through the command window
  77. Ñ╩ghost kicking at login and at defined intervals
  78. Ñ╩bot events logged to file (basic and verbose modes)
  79.   with date/time stamping in file and on filename
  80. Ñ periodic mailbox save (in case of crash)
  81. Ñ╩public personality file :-)
  82. Ñ╩can change nick and icon while connected
  83. Ñ╩bot can auto-reconnect if disconencted or kicked
  84.   (specify delay before reconnect)
  85. Ñ╩chat log to file
  86. Ñ╩empty mailbox
  87. Ñ╩internal userlist tracks IP addresses of users
  88. Ñ╩bot protects itself from people trying to flood its
  89.   control window
  90. Ñ╩automatically scan for leeches at user-defined intervals
  91. Ñ╩options to PM, PM and public chat, kick, or ban leeches
  92. Ñ╩option to announce kicks/bans (and the reason) in chat
  93. Ñ╩users with default or blank names can be messaged to
  94.   change their name
  95. Ñ╩can kick or ban users that are hostile to the bot or
  96.   server. (attempting to flood)
  97. Ñ╩includes mini-client
  98.   Ñ╩basic userlist (no icons, plain black text)
  99.   Ñ╩read and send public chat
  100.   Ñ╩get info on a user (includes icon number)
  101.   Ñ╩kick or ban a user
  102.   Ñ╩send a Private Message
  103. Ñ╩establish a "perma-ban" list, to permonantly ban IPs
  104.   (wildcards allowed) AND nicks
  105. Ñ╩built-in "mini-news", for admins and such to keep
  106.   eachother informed of admin-ish issues, without posting
  107.   them to public news
  108. Ñ╩linked chat indicates who has arrived/left on other side
  109. Ñ╩public personality can do dynamic substitutions, to say
  110.   things like time and date in a response
  111. Ñ╩a user-defined "personality file" which allows the bot to
  112.   reply to words or phrases with set responses
  113. Ñ╩special personality key-words, which the bot dynamically
  114.   "plugs in" to the replies, to make it seem more "real"
  115.   - TIME
  116.   - DATE
  117.   - USERLIST  (linked users)
  118.   - TRACKERS  (trackers that are currently up)
  119.   - RANDOMNICK
  120.   - TRIGGERNICK (nick of the user who chatted the bot)
  121.   - RANDOM  (selects from a list of user-defined responses)
  122.   - UPTIME
  123. Ñ╩random chat, with user-defined intervals
  124. Ñ auto-greet at login
  125. Ñ╩tracker tracker, keeps track of which trackers are
  126.   currently running
  127. Ñ╩can restrict server access to a specific IP mask
  128. Ñ╩can deliver messages to the bot, to be read by the bot
  129.   operator, with up to eight user-defined accounts that
  130.   the bot can see.
  131. Ñ╩auto-launch files before and after bot runs, in addition
  132.   to when bot is stopped/disconnected
  133. Ñ╩maintain a database of all users' nicks, accounts, real
  134.   names, email addresses, and a notes field.
  135. Ñ╩email users directly from the bot, or mass-mail all users
  136. Ñ╩periodically reboot the server, or reboot on command
  137. Ñ╩select users who are exempt from certain monitoring and
  138.   defense features
  139.  
  140.  
  141. OPERATIONAL commands
  142. --------------------------------------------------------
  143. Ñ kick {user}
  144. Ñ ban {user}
  145. Ñ deliver message to {login}
  146. Ñ read messages
  147. Ñ delete messages to {login}
  148. Ñ help
  149. Ñ╩help {command}
  150. Ñ add user {login}
  151. Ñ╩remove user {login}
  152. Ñ╩command list
  153. Ñ╩(command)              (remote file launch!  oh yeah!)
  154. Ñ╩stop bot
  155. Ñ╩refresh userlist     (on-demand ghostbusters/leech scan)
  156. Ñ╩link {server}
  157. Ñ╩stop link
  158. Ñ╩permaban add {ip/nick}
  159. Ñ╩permaban remove {ip/nick}
  160. Ñ╩permaban list
  161. Ñ╩find {pattern}
  162. Ñ╩global {pattern}
  163. Ñ╩stop search
  164. Ñ╩chat {message}
  165. Ñ╩send pm to {user}
  166. Ñ╩trackers
  167. Ñ╩empty trash
  168. Ñ reload ppcp    (reload personality file)
  169. Ñ╩guest on/off/password
  170. Ñ╩run  (or view text, with directrory prompts)
  171. Ñ╩reboot
  172. Ñ╩invite
  173. Ñ╩change nick to
  174. Ñ╩change icon to
  175.  
  176.  
  177. requested functionality (set up but unimplemented)
  178. --------------------------------------------------------
  179. Ñ reload server {in hh:mm}
  180. Ñ╩editable help on plug-in commands
  181. Ñ╩make the bot respond via personality file instead of
  182.   with the "how to use" msg if PM'd with something that
  183.   gets a hit in the personality file
  184.  
  185.  
  186. requested commands (not included at this time)
  187. ------------------------------------------------------
  188. Ñ╩SEND EMAIL TO {address}
  189. Ñ view log (last 10 entries)
  190. Ñ reload news (looking for HOW to do this??!)
  191. Ñ╩archive news (only if local to server)
  192. Ñ╩deliver message to nickname {message}
  193. Ñ╩commands to change all prefs remotely from client
  194. Ñ╩"kick my ghost" to kick previous occurances of same
  195.   login in userlist. (if not "guest" login!)
  196. Ñ╩directory list (reply with PM of directory list of
  197.   directory specified)
  198. Ñ╩DELIVER MESSAGE TO ALL
  199. Ñ╩SPEAK {langauge} to load alternate language kits
  200. Ñ╩QUIT APPLICATION
  201.  
  202.  
  203. requests for special dynamically responding personalities
  204. --------------------------------------------------------
  205. Ñ╩KICKxx
  206. Ñ╩BANxx
  207. Ñ╩¿CR¿ to insert a CR into a response
  208. Ñ╩¿FILE {path}¿
  209. Ñ ¿HTTP//{web path})¿ - checked every so often
  210.  
  211.  
  212. requested features for use if the bot is LOCAL to server
  213. --------------------------------------------------------
  214. Ñ╩disk space check
  215. Ñ PM users about non-commented uploads {message}
  216.  
  217.  
  218. requested functionality (not included at this time)
  219. ------------------------------------------------------
  220. Ñ can tell bot in pub chat to shut up
  221. Ñ two help commands, HELP and HELP ALL, HELP shows only
  222.   available commands
  223. Ñ notify user (with access) that message target not exist
  224. Ñ╩check msg target for existance before queuing
  225. Ñ Cmd-A should select all in CW operator chat field
  226. Ñ╩public chat spam defender
  227. Ñ╩notify list for bot operator, notify to console when
  228.   user in list logs in
  229. Ñ╩socket patch: 10 socket errors in 10 seconds makes
  230.   it force disconnect
  231. Ñ╩archive old (expired) mini news to file
  232. Ñ╩option to email certain users any new mini-news posts
  233. Ñ╩user-editable detailed help
  234. Ñ╩remove search folder from trash queue if re-searching
  235. Ñ╩remove "Ñ" from nicks in userlist, to avoid confusion?
  236. Ñ╩port scan blocker
  237. Ñ╩auto-comment feature, watch a folder & set comments
  238.   if blank
  239. Ñ╩auto-comment during search
  240. Ñ user-defined message if pager is off
  241. Ñ╩some way to remotely install a new powerbot version
  242. Ñ╩scan incomming PM's, and if they match a valid command,
  243.   execute them. (this may be tough to do)
  244. Ñ╩[x] MiniClient chat triggers personality chats  Option
  245. Ñ╩design in a kick/ban debit system, where a user that is
  246.   online can build up both permonant and temporary
  247.   "demerits" toward getting kicked or banned, and when
  248.   a user gets some demerits, can be messaged a warning.
  249.   This will work well for implementing a non-allowed
  250.   nickname list, as well as the kickxx and banxx chat
  251.   keys.
  252. Ñ╩"help menu" system, for use as a tech support system!
  253. Ñ╩guard post default to previously scanned folders
  254. Ñ╩get "send pm to" to work across a link
  255. Ñ╩convert all imbedded applets into direct AE calls
  256. Ñ╩built-in personality file editor
  257. Ñ╩place a comment into the prefs file to indicate the
  258.   prefs are in the resource fork.
  259. Ñ╩feature to sort a folder's contents by filetype and
  260.   move the files to kind-specific folders (runs
  261.   continuously?)
  262. Ñ╩have bot arrange search results of last 30 or maybe
  263.   50 uploads, per upload log... or perhaps have a
  264.   designated "recent arrivals" folder that is autmatically
  265.   stocked with the last 50 uploads per the upload log,
  266.   each time MORE is executed.
  267. Ñ╩flag to attempt link reconnects every xx minutes when
  268.   link dies or fails
  269. Ñ╩option to kick users who have a new login from same IP
  270.   (to kick user's ghost or stop them from getting by the
  271.   leech watcher)
  272. Ñ╩add "[x] email me with new IP address" check to userbase
  273. Ñ╩add "identifying passphrase [           ]" to userbase
  274. Ñ╩add an input area for "Account:" and "Address:" so that
  275.   admins can customize their Get Info windows without
  276.   confusing the bot
  277. Ñ╩option to kick users after they complete their download
  278.   (to circulate users on busy servers with few d/l slots)
  279. Ñ╩log leeches with accounts
  280. Ñ╩ability to save edited bookmark and UserData files
  281. Ñ╩ability to watch upload, download, and connect log files
  282.   and build ratios or reports
  283. Ñ╩auto-launch 4th pane, for "repeating periodic launches"
  284. Ñ╩TEMPLATE {template login}:{new login}:{new password}
  285.  
  286.  
  287. Version Info:
  288. v1.5.2 (under development)
  289. Ñ╩fixed a punctuation parsing bug in the personality
  290.   system. (thanks nautil!)
  291. Ñ╩patched around a RB bug that was stopping the auto-
  292.   reconnect from working if you were not autolaunching
  293.   files before connect.
  294. Ñ╩nudged the formatting of the monitor windows to match
  295.   widths with the default pchat window
  296.  
  297. v1.5.1 ()
  298. Ñ╩found and stomped a nil bug.  this alone was enough
  299.   for a new release.
  300.  
  301. v1.5.0 ()
  302. Ñ╩patched around a RB bug that was causing each CW's
  303.   Close event to trigger twice, double-decrementing the
  304.   Active Controls count in PowerBot's main window
  305. Ñ╩minor change to the HotSocket, to support object IDs
  306.   greater than 300. (for comaptibility w/REALity's EHP)
  307.  
  308.  
  309. v1.4.4 (internal beta)
  310. Ñ╩fixed a bug which could cause a crash if the user
  311.   double-clicked a user in the Mini Window and then
  312.   attempted a Get Info
  313. Ñ╩fixed a blindingly obvious problem with multiple
  314.   pointers to the same objects in HotSocket (all custom
  315.   class objects are now handed out in the new events
  316.   using COPIES instead of as references to the private
  317.   objects within the socket, which could be zapped later)
  318. Ñ╩adjusted trashing timer to go to sleep when not in use
  319. Ñ╩warning added to MiniClient when trying to kick
  320.   protected users
  321. Ñ╩bug in messaging kicker fixed
  322. Ñ╩NEW FEATURE: periodic server reboot
  323. Ñ╩Restrict Nick is now Restrict Nick/Icon  :-)
  324. Ñ╩well-hidden internal userlist bug exterminated, should
  325.   take care of NilObjectExceptions that were popping up
  326.   in the Mini-Client
  327. Ñ╩anyone whose mailbox the bot can read, can now read
  328.   the bot's mail
  329. Ñ╩NEW COMMAND: "REBOOT"
  330. Ñ Bot now allows users to REPLY when reading a message
  331. Ñ╩HotSocket bug fixed - AddToPchat is an Info, not a
  332.   Request
  333. Ñ HotSocket bug fixed - Change Subject in a private chat
  334.   window's ID is 120, not 119.  :P
  335. Ñ Admin Chat window now has a subject, to help identify
  336.   it.  The bot will make sure it stays there, too. ;-)
  337. Ñ╩Admins can be auto-invited to Admin Chat at login
  338. Ñ╩NEW COMMAND: "INVITE"
  339. Ñ╩Fixed a glitch created in the Guard Post's User Report
  340.   scanner when the GetFolderItem bug was worked around
  341.   in v1.4.3
  342. Ñ╩fixed "new version announcement" when new version of
  343.   the bot first runs - it will now show only the latest
  344.   new features. (was showing all EXCEPT the latest!)
  345.  
  346. v1.4.3 (11/25/98)
  347. Ñ╩UserBase emailer will now try several variations on the
  348.   user's IP when mailing direct is selected
  349. Ñ╩"locate" command now indicates how many hits were found
  350.   when less than the limit of 30
  351. Ñ╩the new and improved Info window in the mini client no
  352.   longer "grows back" if you close it by clicking the
  353.   window's little close box thingie in the upper left
  354.   corner
  355. Ñ╩NEW FEATURE - "restrict nicks" in the Options window,
  356.   Watcher tab panel.  Allows the bot to message, kick,
  357.   or ban a user for using offensive or slanderous
  358.   nicknames
  359. Ñ╩Guard windows now centering on screen when opened
  360. Ñ╩LOCATE now tells how many servers were searched when
  361.   reporting back to the user.
  362. Ñ╩oops, missed AutoGreet when expanding text limits!
  363.   AutoGreet now allows 1024 characters
  364. Ñ╩UserBase now remembers which user you last edited
  365. Ñ╩UserBase's email message, From, To, and SMTP fields
  366.   do not automatically save, you may click (Store Msg)
  367.   button to store them for next time.
  368. Ñ╩gearing up to make the bot capable of emailing the
  369.   server's current IP to selected members of the UserBase
  370. Ñ╩UserData and bookmark files may now be dragged onto the
  371.   bot's main window to be viewed.
  372. Ñ╩gearing up to allow bot to be able to RestrictNick msg
  373.   a user ONLY at login, in replacement of the greeting.
  374. Ñ╩minor re-write of the timed event system, to enhance
  375.   reliability and kill a DynIP/proxy bug
  376. Ñ╩userbase now defaults to mass-mailing
  377. Ñ╩Message lengths (DELIVER MESSAGE TO ...) limits are
  378.   REMOVED!   yay!  Type as much as 4k, the limit of the
  379.   Hotline Client's Pchat window.
  380. Ñ╩adjusted autogreet coding to greet AFTER the user's
  381.   account info has been read in.  This will later allow
  382.   security-level-dependent autogreeting.
  383. Ñ╩MASSIVE reconstruction of internal structures.
  384.   Converted mail, mailbox, userlist, users, and several
  385.   other things to linked lists, should vastly increase
  386.   speed, reliability, memory efficiency, and remove
  387.   hardcoded size limits.
  388. Ñ╩fixed leap-year bug in mail expiration (mail was
  389.   going to expire a day early across leap year)
  390. Ñ╩rebuilt the mailbox system, adding commands to read
  391.   each message separately, and option not to delete
  392.   a message after reading it.  NOTE: NEW MAILBOX FILE
  393.   IS NOT COMPATIBLE WITH OLD ONE.  ALL QUEUED MESSAGES
  394.   WILL BE LOST.
  395. Ñ╩all windows now have Balloon Help!  yay!
  396. Ñ╩new language kit in its infancy.  Hit Cmd-E with the
  397.   mouse above most any control.  Changes are not saved
  398.   (yet)
  399. Ñ╩Nice new Get User Info window, with privs display
  400.   (soon to be editable)
  401. Ñ╩Debug window left in this build... let me know if you
  402.   like any of the features in there, I will add them as
  403.   standard if so.
  404.  
  405. v1.4.2 (11-5-98)
  406. Ñ╩coded around another compiler error causing crashes
  407.   in the IDE on RUN.
  408. Ñ╩expanded limits on Greeting, Hello, and How To
  409.   messages to 1024 characters.
  410. Ñ NEW FEATURE!  Tego contributes a major new module
  411.   to the bot, "TextBase".  Thanks Tego!
  412. Ñ╩fixed crashing bug when user being watched with Info
  413.   window logged off
  414. Ñ╩add confirmation windows to kicking and banning in
  415.   the MiniClient.
  416. Ñ╩added checkbox to MiniClient to suppress PPCP on
  417.   chat while MiniClient is open
  418. Ñ╩added checkbox to MiniClient to allow operator to
  419.   receive PMs while MiniClient window is open
  420. Ñ╩NEW COMMAND!  Tracker search!  Type "locate {pattern}"
  421.   to find something in the trackers.  It will look at
  422.   all trackers the bot is currently watching, and return
  423.   up to 20 hits.  IPs are also searchable. :-)
  424.  
  425. v1.4.1 (internal release, for debugging)
  426. Ñ╩irritating RealBasic bug causes SelectFolder function
  427.   (built in feature in RealBasic) to crash with type-3
  428.   error.  I have coded my OWN version of SelectFolder
  429.   to get around the error.
  430. Ñ╩fixed some windows to make sure they display, even if
  431.   the bot is very busy and isn't updating the screen well
  432. Ñ╩fixed some bugs in UserBase that were not retaining all
  433.   information in the Send window.
  434.  
  435. (older version info is in a separate text file now)
  436.  
  437.  
  438. Some of the more active feaure/command idea contributors
  439. and 'pre-release' testers:
  440. ---------------------------------------------------------
  441. Ñ╩Pizza
  442. Ñ╩TripWire
  443. Ñ╩Jupiter
  444. Ñ╩eXo
  445. Ñ╩Roji
  446. Ñ╩members of cdn
  447. Ñ╩members of 8-bits
  448. Ñ╩Notorious Net Nerd
  449. Ñ╩Qtip
  450. Ñ╩Tego
  451.  
  452. And to the makers of mBot:
  453.   This bot could not have been made without your assistance!
  454. It was your unwillingness to release source and give out
  455. mBot that inspired me to make a bot anyone could have and
  456. customize to their liking, and for that, we thank you!
  457.   In an effort to avoid directly duplicating your work, I
  458. have refrained from installing or running mBot at my server.
  459. Any similarities in commands or functionality is not an
  460. attempt to copy your work, but is based entirely on my own
  461. original ideas or the ideas/suggestions of others. (whom
  462. may be suggesting some ideas based on your bot, but hey,
  463. I can't help that, I'm just making what they want)  Please
  464. grant me the same courtesy in not copying what I have done.
  465.  
  466.  
  467. - Virtual1
  468.  
  469.  
  470. VirtualFTP server can be found at:
  471.  
  472. virtualftp.neotek.net
  473. virtualftp.dyn.ml.org
  474.  
  475.  
  476. If you feel this bot is helping you and is worth something,
  477. feel free to make a donation to the cause.  I can always use
  478. new hardware for the server, additional memory, and of
  479. course cash is nice too.  If you can't afford any of the
  480. above, stopping into my server and saying "cool bot!" is
  481. thanks enough. :-)       Enjoy.    -V1
  482.  
  483.  
  484.  
  485.  
  486. Formatting Standards
  487. Ñ╩control to border = 13 pixels vertical and horizontal
  488. Ñ╩static text height = 16 pixels high
  489. Ñ╩button = 20 pixels high
  490. Ñ╩editfield = 9 + 7*(limit text) pixels wide
  491. Ñ╩static text to editfield = 3 pixels horizontal
  492. Ñ╩single line editfield = 22 pixels high